Ćwiczenie 9¶

Zbadaj skuteczność redukcji szumu typu „sól i pieprz” za pomocą

  1. liniowego filtra uśredniającego z kwadratową maską, rozpoczynając od maski rozmiaru 3 × 3.
  2. nieliniowego filtra medianowego
  3. filtrów minimum i maksimum.
In [61]:
import matplotlib.pyplot as plt
import tifffile as tiff
import skimage.morphology as morph 
from skimage.filters import rank
In [62]:
# Załadowanie pliku .tiff
img_a = tiff.imread("src/cboard_pepper_only.tif") 
img_b = tiff.imread("src/cboard_salt_only.tif") 
img_c = tiff.imread("src/cboard_salt_pepper.tif") 

Zadanie 1¶

Filtr uśredniający z kwadratową maską 3x3

In [ ]:
def meanFilter(img):
    plt.subplot(2,3,2)
    mean_img = rank.mean(img,morph.footprint_rectangle(square_mask))    
    plt.imshow(mean_img)
    plt.title("Filtr uśredniający")

Zadanie 2¶

Nieliniowy filtr medianowy

In [64]:
def mediFilter(img):
    plt.subplot(2,3,3)
    medi_img = rank.median(img,morph.footprint_rectangle(square_mask))
    plt.imshow(medi_img)
    plt.title("Filtr medianowy")

Zadanie 3¶

Filtry minimum i maximum

In [65]:
def minMaxFilter(img):
    plt.subplot(2,3,4)
    min_img = rank.minimum(img,morph.footprint_rectangle(square_mask))
    plt.imshow(min_img)
    plt.title("Filtr min")
    
    plt.subplot(2,3,5)
    max_img = rank.maximum(img,morph.footprint_rectangle(square_mask))
    plt.imshow(max_img)
    plt.title("Filtr maks")

    plt.subplot(2,3,6)
    minMax_img = rank.maximum(min_img,morph.footprint_rectangle(square_mask))
    plt.imshow(minMax_img)
    plt.title("Filtr min-maks")
In [66]:
def display(img):
    plt.subplot(2,3,1)
    plt.imshow(img)
    plt.title("Obraz Orginalny")
    meanFilter(img)
    mediFilter(img)
    minMaxFilter(img)
    plt.tight_layout()
    plt.show()
square_mask = (3, 3)
for i in range(3):
    print("Obrazy wynikowwe dla maski {}x{}:".format(square_mask[0], square_mask[1]))
    display(img_a) #pepper
    display(img_b) #salt
    display(img_c) #salt and pepper
    square_mask = (square_mask[0] + 1, square_mask[1] + 1)
Obrazy wynikowwe dla maski 3x3:
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Obrazy wynikowwe dla maski 4x4:
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Obrazy wynikowwe dla maski 5x5:
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

W badaniach porównano skuteczność filtrów uśredniającego, medianowego, minimalnego, maksymalnego oraz min-maks na obrazach z szumem typu "pieprz", "sól" oraz "sól i pieprz" dla masek o rozmiarach od 3×3 do 5×5.

  • Zastosowane filtry i efekty

    • Filtr uśredniający (mean): Skutecznie wygładza szum, jednak powoduje rozmycie krawędzi i utratę szczegółów. Im większa maska, tym silniejsze rozmycie obrazu. Najlepiej sprawdza się przy słabym szumie, ale nie radzi sobie z pojedynczymi impulsami szumu typu "sól" lub "pieprz".

    • Filtr medianowy (median): Najlepiej usuwa szum impulsowy ("sól", "pieprz", "sól i pieprz"), zachowując przy tym ostrość krawędzi. Nawet przy większych maskach skutecznie eliminuje zakłócenia bez nadmiernego rozmycia obrazu. Jest rekomendowany do usuwania szumu impulsowego.

    • Filtr minimalny (min): Usuwa głównie szum typu "sól" (białe piksele), ale może prowadzić do przyciemnienia obrazu i utraty detali. Przy większych maskach efekt ciemnienia jest silniejszy.

    • Filtr maksymalny (max): Usuwa głównie szum typu "pieprz" (czarne piksele), ale może prowadzić do rozjaśnienia obrazu. Zwiększenie maski potęguje ten efekt.

    • Filtr min-maks: Kombinacja filtrów min i max pozwala na usunięcie obu typów szumu ("sól i pieprz"), jednak kosztem utraty kontrastu i szczegółów, zwłaszcza przy większych maskach.

  • Wnioski z badań dla masek 3×3, 4×4, 5×5

    • Maska 3×3: Najlepszy kompromis między usuwaniem szumu a zachowaniem szczegółów. Filtr medianowy skutecznie usuwa szum impulsowy, a efekt rozmycia jest minimalny.

    • Maska 4×4 i 5×5: Skuteczność usuwania szumu rośnie, ale jednocześnie rośnie rozmycie i utrata detali. Filtr medianowy nadal radzi sobie najlepiej, natomiast filtry uśredniający, min i max powodują coraz większą degradację jakości obrazu.